package com.xique.park.api;

import com.github.lianjiatech.retrofit.spring.boot.annotation.RetrofitClient;
import com.xique.common.core.web.domain.AjaxResult;
import retrofit2.http.Body;
import retrofit2.http.POST;

import java.util.Map;

/**
 * 车场公共命令下发
 *
 * @author xique
 */
@RetrofitClient(baseUrl = "${command.apiUrl}")
public interface IParkIpcCommandApi {

    /**
     * 通用下发
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult issue(@Body Map<String, Object> map);

    /**
     * 设备初始化
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult devInit(@Body Map<String, Object> map);

    /**
     * 下发副摄像机
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult downSubIpc(@Body Map<String, Object> map);

    /**
     * 删除副摄像机
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult delSubIpc(@Body Map<String, Object> map);

    /**
     * 下发附加设备
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult downSubDevs(@Body Map<String, Object> map);

    /* ---------------------------- 语音显示屏相关命令 ---------------------------- */

    /**
     * 显示屏参数设置
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult setLed(@Body Map<String, Object> map);

    /**
     * 音量测试
     *
     * @param map 下发参数
     * @return 下发结果
     */
    @POST(".")
    AjaxResult voiceTest(@Body Map<String, Object> map);
}
